Method for modifying the rendering of a region of a 3D scene in an immersive environment

ABSTRACT

A computer-implemented method for modifying the rendering of a region of a 3D scene in an immersive environment, the region being computed based on a 3D position of a head tracking device and a 3D position of at least one hand tracking device.

CROSS-REFERENCE TO RELATED APPLICATIONS

This application claims priority under 35 U.S.C. § 119 or 365 toEuropean Application No. 19306750.1, filed Dec. 23, 2019. The entirecontents of the above application(s) are incorporated herein byreference.

FIELD

The disclosure pertains to the field of computer programs and systems,and specifically to the field of product design and exploration in animmersive environment, and also to the fields of simulation and videogames, where exploration is useful.

BACKGROUND

Headways which have been made in the rendering of the environment makethe experience more and more realistic. In particular, a virtual realityheadset allows the user to visualize the 3D space where he is immersed,through a virtual camera. The position of the head is tracked thanks tothe virtual reality headset, so that the orientation of the head of theuser corresponds to the orientation in the immersive environment. Withone or several handheld motion-tracked controllers, the user caninteract with the environment.

However, in a very congested environment, the field of view of thevirtual camera may be partially obstructed, which makes the virtualreality experience less enjoyable. For example, considering the scenarioof exploring a wiring closet, tens of cables obstruct the field of viewof the camera. The congestion of the wiring closet prevents the userfrom discovering the cables and authoring them, and also frommanipulating them.

Furthermore, in immersive environments, in particular in some videogames, the 3D scene is a small room. In that case, there may be a lot ofobjects in front of the virtual camera.

SUMMARY

A first way to deal with the obstruction of the field of view consistsin defining a frustum. This solution is said to be “user centric”, sincethe frustum is associated to the user. The frustum also speeds up therendering of the 3D scene, since only a part of it is rendered.Hereafter, the frustum refers to the region of space which may berendered for the user. The frustum is a truncated pyramid. The planeswhich cut the viewing frustum perpendicular to the viewing direction ofthe virtual camera are called the “near clipping plane” and the “farclipping plane”. The frustum is bounded by the near clipping plane onthe side of the virtual camera and by the far clipping plane on theopposite side. The angles between opposite lateral faces of the frustumcorrespond to the natural field of view of a human. Objects which arenot in the frustum are not rendered. In particular, objects which arelocated between the virtual camera and the near clipping plane are notrendered.

Therefore, it is up to the developer or to the user of the software toset the near clipping plane at an optimum distance relative to thevirtual camera: if the near clipping plane is too close to the virtualcamera, the view of the user will be obstructed, and if the nearclipping plane is too far from the virtual camera, too many objects willbe removed. Thus, setting the depth of the near clipping plane is notflexible and adaptive.

Moreover, the axis of the virtual camera is normal to the near clippingplane. An object which is out of the frustum, close to the near clippingplane, on the axis of the virtual camera, enters the frustum when theuser moves his head. Depending on the orientation of the head, theobject, or a part of it, will alternatively be rendered or not, whichmay be confusing for the user.

A second way to deal with the obstruction of the field of view consistsin manually selecting parts of the object which is to be explored, so asto change their properties. This solution is said to be “productcentric”, since the properties of the objects are modified.

Returning to the example of the wiring closet, the user ghosts the firstlayer of cables, and repeats the operation of ghosting for the nextlayers, until he has reached the layer he is interested in. Hereafter,ghosting refers to modifying the rendering of an object, in order to seethrough it. Ghosting also makes the object non selectable. Ghosting maybe done for example by modifying the opacity of the object, or byrendering only the edges of the object.

The ghosting operations are made manually: the cursor, directed by theuser, hovers over a part of the object, then he presses and releases the“tab” button (or another button, depending on the way the function hasbeen implemented), which ghosts the part of the object. If the userwants to ghost another part of the object, he reiterates the operationof pressing the “tab” button when the cursor hovers over the part, thenreleasing the button, and so on until the user has terminated theexploration of the object. In order to unghost the part (i.e. to removethe ghost effect), the user moves the cursor out from the ghosted part.It may be noted that the user may hide an object instead of ghosting it.Hereafter, hiding refers to not rendering it.

Manually ghosting objects has several drawbacks. Firstly, it is notefficient when trying to visualize a congested 3D scene, since it wouldbe required to ghost every object in front of the eyes of the user.Secondly, exploring an object in depth with many layers involves as manypresses on the button, which is cumbersome. Thirdly, if the userunghosts a part that he sees in front of him, he will not be able tounghost the parts which are behind the unghosted part: the unghostingoperations must be done according to the reverse order of the ghostingoperations.

Therefore, there is a need for providing a computer-implemented methodfor adaptively exploring the region of a 3D scene in an immersiveenvironment, while reducing the exploration time.

One embodiment includes a computer-implemented method for modifying therendering of a region of a 3D scene in an immersive environmentcharacterized in that the region is computed based on a 3D position of auser's head tracking device and a 3D position of at least one user'shand tracking device.

In an embodiment, the region comprises a convex volume which has a planepart which fits a near clipping plane of a virtual camera frustumrendering a part of the 3D scene, said convex 3D volume extending alonga segment which is defined by the 3D position of the head trackingdevice and by the 3D position of the hand tracking device.

In an embodiment, the convex volume comprises a truncated cone or arevolution cylinder.

In an embodiment, the convex volume has a curved shape surroundingpartially the hand tracking device, opposite to the plane part, andbeing spaced apart from the hand tracking device by a non-null safetymargin.

In an embodiment, the method comprises:

-   -   a step of receiving a user input of actuating the hand tracking        device, and    -   a step of modifying the rendering of the region as long as the        hand tracking device is being actuated.

In an embodiment, the method comprises:

-   -   a step of receiving a user input of actuating a second hand        tracking device,    -   a step of computing the distance between the 3D position of the        hand tracking device, referred to as first hand tracking device,        and the 3D position of the second hand tracking device, and    -   a step of widening or thinning the convex volume across the        segment, respectively by increasing or reducing said distance.

In an embodiment, the step of receiving a user input of actuating asecond hand tracking device comprises receiving a command of pressingand holding a button of the second hand tracking device, and the step ofwidening or thinning the convex volume is carried out while the buttonof the second hand tracking device is being pressed.

In an embodiment, the step of receiving a user input of actuating asecond hand tracking device comprises receiving a command of pressingthen releasing a button of the second hand tracking device; and the stepof widening or thinning the convex volume is carried out after receivinganother command of pressing then releasing said button.

In an embodiment, the convex 3D volume is transformed into a sphere ifthe distance between the 3D position of the first hand tracking deviceand the 3D position of the second hand tracking device exceeds athreshold distance, said sphere having its center at the 3D position ofthe head tracking device, and having its radius equal to the distancebetween the 3D position of the head tracking device and the 3D positionof the first hand tracking device.

In an embodiment, the region comprises 3D objects having a minimumbounding box which intersects with the convex volume.

In an embodiment modifying the rendering of a region comprises ghostingsaid region.

Alternatively, modifying the rendering of a region comprises hiding saidregion.

Another embodiment relates to a computer program product, stored on acomputer-readable data-storage medium, comprising computer-executableinstructions to cause a virtual reality system to carry out theaforementioned method.

Another embodiment relates to a computer-readable data-storage mediumcontaining computer-executable instructions to cause a virtual realitysystem to carry out the aforementioned method.

Another embodiment relates to a virtual reality system comprising aprocessor coupled to a memory, the memory storing computer-executableinstructions to cause the virtual reality system to carry out theaforementioned method, a head mounted display device having a headtracking device, and at least one hand-held controller having a handtracking device.

BRIEF DESCRIPTION OF THE DRAWINGS

Additional features and advantages of the disclosure will becomeapparent from the subsequent description, taken in conjunction with theaccompanying drawings:

FIGS. 1 and 2 illustrate a top view of the user in an immersiveenvironment; the user is equipped with a head tracking device and afirst hand tracking device;

FIG. 3 illustrates a top view of the user in an immersive environment;the user is equipped with a head tracking device a two hand trackingdevices;

FIGS. 4 and 5 illustrate a top view of the user in an immersiveenvironment, in which the region is a sphere;

FIGS. 6 and 7 illustrate the viewpoint of a user when exploring anobject, thanks the method according to the invention; and

FIG. 8 illustrates a computer environment which is adapted to carry outthe method according to the invention.

DETAILED DESCRIPTION

FIG. 1 illustrates a first top view of the user in an immersiveenvironment. The user is equipped with a virtual reality headset and atleast one wireless handheld controller. The virtual reality headset andthe wireless handheld controller are part of a virtual reality system.One example of a virtual reality system is “HTC Vive”™.

The headset and the at least one handheld controller are located in thecoordinate system of the virtual environment. Head tracking of theheadset is performed by a head tracking device HED, in different ways:through cooperating with base stations, by surface detection, markers,environmental recognition, gyroscopic control units, computer vision.Similarly, hand tracking of the at least one handheld controller is alsoperformed by a hand tracking device HAD1, in different ways: throughcooperating with base stations, by surface detection, markers,environmental recognition, gyroscopic control units, computer vision.

In what follows, it will be considered that the virtual reality headsetcomprises the head tracking device HED and that the handheld controllercomprises the hand tracking device HAD1.

Referring now to FIG. 1, the exact 3D position of the head of the usercorresponds to the point which is between the eyes (Cyclops' eye),equidistant to both eyes. The point which is between the eyes iscomputed by the software layer of the head tracking device HED. Theexact position of the hand of the user is computed based on the 3Dposition of the hand tracking device HAD1. The position of the hand iscomputed by the software layer of the hand tracking device HAD1.

As illustrated by FIGS. 1 and 2, the rendering of a region which isbased on the 3D position of the user's head tracking device HED and the3D position of at least one user's hand tracking device is modified. InFIG. 1, the user holds the hand tracking device HAD1 in front of him, onhis right. In FIG. 2, the user holds the hand tracking device HAD1 infront of him, on his left.

Therefore, when the user moves his hand, the region, where the renderingis modified, is computed in real time. The user easily and adaptivelysets the depth region for which the rendering is to be modified.

Advantageously, modifying the rendering of a region comprises ghostingit, or hiding it. Thus, the user can see the 3D scene through theghosted or hidden region, while visualizing the context around theghosted or hidden region. When a region is ghosted or hidden, raytracing is performed without taking the region into account, therebyproving realistic colors of the scene.

The user may determine in advance, for example by a setting in a menu,what kind of modification of the rendering is to be performed: hiding aregion, or ghosting it.

In an embodiment, the region comprises a convex volume VOL. Inparticular, the convex volume VOL has a plane part PLP which fits a nearclipping plane of a virtual camera frustum rendering a part of the 3Dscene. As mentioned above, the near clipping plane marks out the virtualcamera frustum one the side of the head tracking device HED, and the farclipping plane marks out the virtual camera frustum on the oppositeside. Contrary to the known methods of modifying the depth of the nearclipping plane, the invented method does not alter the depth of the nearclipping plane. More generally, the invented method is performedindependently of the dimensions/shape/depth of the frustum of thevirtual camera.

The convex volume VOL extends along a segment SEG which is defined bythe 3D position of the head tracking device HED and by the 3D positionof the hand tracking device HAD1. By “extending along”, it is meant thatthe convex volume VOL may have any shape provided that a segment betweenthe 3D position of the head tracking device HED and the 3D position ofthe hand tracking device HAD1 is included in the convex volume VOL.Thus, modifying the rendering of a region comes to hand intuitively, andthe user simply “digs” in a 3D object in order to explore it. He doesnot need to press a dedicated button on the keyboard, as many times asthe number of layers to ghost. The vector {right arrow over (Vhh)}corresponds to the vector between the 3D position of the head trackingdevice HED and the 3D position of the hand tracking device HAD1.

In FIGS. 1 and 2, the convex volume VOL comprises a revolution cylinder,having an axis which substantially corresponds to the segment SEG.Alternatively, the convex volume VOL comprises a truncated cone, alsoreferred to as a frustum. However, the latter should not be confusedwith the frustum of the virtual camera which renders the 3D scene. Inthe case of a truncated cone, the convex volume VOL has the shape of a“torchlight”.

In an embodiment, the convex volume VOL has a curved shape surroundingpartially the hand tracking device HAD1, opposite to the plane part PLP.In other words, at the extremity of the cylinder or at the extremity ofthe truncated cone, opposite to the plane part PLP, the convex volumeVOL is not plane, but rather curved, in order to surround the end partof the hand tracking device HAD1.

The convex volume VOL may also comprise, in the aforementionedcurvature, a safety margin SMA between the hand tracking device HAD1 andthe end of the convex volume VOL which is opposite to the plane partPLP, so that the curved portion and the hand tracking device HAD1 mightbe spaced apart from each other. In an immersive environment, the handtracking device, i.e. the controller, is often made visible, by modelingit. If there is no safety margin, the user's field of view may beobstructed by the hand tracking device, while exploring an object. Anon-null safety margin SMA enhances the visibility of the region forwhich the rendering is modified.

The value of the safety margin SMA may be proportional to the length ofthe segment SEG. Alternatively, it may be exponential. According toanother alternative, as long as the arm is close to user's head (the armis folded), the value of the safety margin SMA is fixed. Then, when thearm extends from a half extension to a full extension, the value of thesafety margin SMA rises linearly or exponentially. The same applies forthe contraction movement.

The modification of the rendering of the region is controlled by theuser. In an immersive environment, the hand tracking device receives auser input of actuating it. The user input may be, for example, a pressand hold on a button of the hand tracking device. Then, the modificationof the rendering of the region is performed as long as the hand trackingdevice is being actuated, for example as long as the button is pressed.Consequently, whenever the user releases the button, the 3D scene isdisplayed, without any ghosting or hiding or the region. The inventedmethod is user friendly, since the user needs to actuate only one buttonso as to modify the rendering of the region.

FIG. 3 illustrates another embodiment of the invented method, in whichtwo hand tracking devices are required. The aforementioned hand trackingdevice HAD1 is referred to as first hand tracking device HAD1. Inaddition, a second hand tracking device HAD2 is used. In the example ofFIG. 3, the user carries the first hand tracking device HAD1 on the lefthand, and the second hand tracking device HAD2 on the right hand. Ofcourse, the first hand tracking device HAD1 could be carried on theright hand, and the second hand tracking device HAD2 on the left hand,without affecting the invented method.

When a user input of actuating the second hand tracking device HAD2 isreceived, the distance DIS between the 3D position of the first handtracking device HAD1 and the 3D position of the second hand trackingdevice HAD2 is computed. Then, when the user increases or reduces thedistance DIS, the convex volume VOL is respectively widened or thinnedacross the segment SEG. By “widening the convex volume VOL across thesegment SEG”, it is meant that the cross section increases. By “thinningthe convex volume VOL across the segment SEG”, it is meant that thecross section decreases.

By adapting the distance DIS, the user can adapt the region to thecontext of the 3D scene, and also to the object which is to be explored.For example, in order to explore the gear of a gearbox, a small distanceDIS may be sufficient, whereas in order to explore an axis which crossesthe entire gearbox, a high distance DIS would be better.

If the convex volume VOL is a revolution cylinder, actuating the secondhand tracking device HAD2 transforms the revolution cylinder into atruncated cone. Then, if the user keeps on increasing the distance DIS,the vertex angle (i.e. the cone angle when the cone is not truncated)increases. If the convex volume VOL is initially a truncated cone, whenincreasing the distance DIS, the vertex angle also increases.

Therefore, the user can modify the region to be ghosted or hided, notonly while playing with the depth of the region starting from the nearclipping plane, but also while playing with the angle of aperture of theregion. In the meantime, the user can modify the direction of thesegment SEG, with the first hand tracking device HAD1.

In order to widen or thin the convex volume VOL, the user presses andholds a button of the second hand tracking device HAD2, and the wideningor thinning of the convex volume VOL is performed while the button ofthe second hand tracking device HAD2 is being pressed. Therefore, thereis a real time visual feedback of the modification of the distance DIS.When the user releases the button of the second hand tracking deviceHAD2, the distance DIS is considered to be fixed, until the user pressesagain the button.

Alternatively, the widening or thinning of the convex volume VOL can beimplemented with an “on/off” command: the user presses, then releases abutton of the second hand tracking device HAD2, so as to activate thefunction of modifying the width of the convex volume VOL. The wideningor thinning of the convex volume VOL is carried out after receivinganother command of pressing then releasing the button. Thus, between twoswitches of the button, the user can annotate an object which is visiblethanks to the ghosting or hiding of the objects which are in the fieldof view of the virtual camera, which may be useful in an authoringprocess.

According to an embodiment, illustrated by FIGS. 4 and 5, the regionwhere the rendering is modified may be a user-centered sphere, which hasa radius equal to the distance between the 3D position of the headtracking device HED and the 3D position of the first hand trackingdevice HAD1. For example, all the objects which are in the sphere areghosted or hidden. Consequently, the user does not need to move his handin order to explore an object from a side to another, since he just hasto move of his head.

This configuration may also be interesting when the real environment ofthe user is congested in front of him, for example because of thecomputer screen. If the user is aware that his lateral environment isfree, he can adjust the radius of the sphere by extending or contractinghis arm.

When the user has the first hand tracking device HAD1 and the secondhand tracking device HAD2 in his hands, he increases the distance DISwith one of the aforementioned methods. When the distance DIS exceeds athreshold distance the convex 3D volume VOL, which may be initially atruncated cone or a revolution cylinder, is transformed into a sphereSPH. The center of the sphere SPH is located at the 3D position of thehead tracking device HED, and the radius Dhh is equal to the distancebetween the 3D position of the head tracking device HED and the 3Dposition of the first hand tracking device HAD1.

The user can switch again to the non-spherical shape by providing aninput to the second hand tracking device HAD2, for example by pressing abutton of the second hand tracking device HAD2.

Advantageously, the region where the rendering is modified comprisesalso 3D objects which have a minimum bounding box which intersects withthe convex volume VOL. It is illustrated by FIGS. 1 to 5: around theconvex volume VOL, the boxes of the checkerboard pattern which intersectwith the convex volume VOL are also ghosted/hidden. Therefore, an object(or a part of it) is not cut: it is either ghosted/hidden, or it isrendered.

FIGS. 6 and 7 illustrate the viewpoint of a user when exploring anobject, thanks the method according to an embodiment. FIG. 6 illustratesthe viewpoint before exploring the object, in this case a cube. In FIG.7, the user outstretches his arm, and “digs” in the cube, so the dugpart of the cube is hidden.

It has been shown that the disclosure is particularly tailored to animmersive environment, since the user only needs to interact with thecontrollers of the virtual reality system, without using otherperipherals such as the keyboard or the mouse. Moreover, the inventedmethod is user friendly, since the user does not have to memorizespecific buttons.

The inventive method can be performed by a suitably-programmedgeneral-purpose computer or virtual reality system, possibly including acomputer network, storing a suitable program in non-volatile form on acomputer-readable medium such as a hard disk, a solid state disk or aCD-ROM and executing said program using its microprocessor(s) andmemory.

A computer CPT suitable for carrying out a method according to anexemplary embodiment is described with reference to FIG. 8. In FIG. 8,the virtual reality system VRS includes a Central Processing Unit (CPU)P which performs the method step described above while running anexecutable program, i.e. a set of computer-readable instructions, storedin a memory device such as RAM M1 or ROM M2 or hard disk drive (HDD) M3,DVD/CD drive M4, or stored remotely.

The claimed invention is not limited by the form of thecomputer-readable media on which the computer-readable instructionsand/or the data structure of the inventive process are stored. Forexample, the instructions and files can be stored on CDs, DVDs, in FLASHmemory, RAM, ROM, PROM, EPROM, EEPROM, hard disk or any otherinformation processing device with which the computer communicates, suchas a server or computer. The program and the files can be stored on asame memory device or on different memory devices.

Further, a computer program suitable for carrying out the inventivemethod can be provided as a utility application, background daemon, orcomponent of an operating system, or combination thereof, executing inconjunction with CPU P and an operating system such as Microsoft VISTA,Microsoft Windows 10, UNIX, Solaris, LINUX, Apple MAC-OS and othersystems known to those skilled in the art.

CPU P can be a Xenon processor from Intel of America or an Opteronprocessor from AMD of America, or can be other processor types, such asa Freescale ColdFire, IMX, or ARM processor from Freescale Corporationof America. Alternatively, the CPU can be a processor such as a Core2Duo from Intel Corporation of America, or can be implemented on an FPGA,ASIC, PLD or using discrete logic circuits, as one of ordinary skill inthe art would recognize. Further, the CPU can be implemented as multipleprocessors cooperatively working to perform the computer-readableinstructions of the inventive processes described above.

The virtual reality system in FIG. 8 also includes a network interfaceNI, such as an Intel Ethernet PRO network interface card from IntelCorporation of America, for interfacing with a network, such as a localarea network (LAN), wide area network (WAN), the Internet and the like.The virtual reality system further includes a head mounted displaydevice HMD having a head tracking device HED. A general purpose I/Ointerface IF interfaces with hand held controllers HHC1, HHC2 which arerespectively equipped with hand tracking devices HAD1, HAD2. Thedisplay, the keyboard and the pointing device, together with the displaycontroller and the I/O interfaces, form a graphical user interface, usedby the user to provide input commands and by the computer for displayingthe 3D objects.

Disk controller DKC connects HDD M3 and DVD/CD M4 with communication busCBS, which can be an ISA, EISA, VESA, PCI, or similar, forinterconnecting all of the components of the computer.

Any method steps described herein should be understood as representingmodules, segments, or portions of code which include one or moreexecutable instructions for implementing specific logical functions orsteps in the process, and alternate implementations are included withinthe scope of the exemplary embodiment.

The invention claimed is:
 1. A computer-implemented method for modifyinga rendering of a region of a 3D scene in an immersive environment,comprising: computing the region based on a 3D position of a headtracking device and a 3D position of at least one hand tracking device,wherein the region comprises a convex volume which has a plane partwhich fits a near clipping plane of a virtual camera frustum rendering apart of the 3D scene, said convex volume extending along a segment whichis defined by the 3D position of the head tracking device and by the 3Dposition of the hand tracking device; and modifying the rendering of theregion of the 3D scene in the immersive environment, wherein modifyingthe rendering of the region comprises ghosting or hiding said region. 2.The computer-implemented method of claim 1, wherein the convex volumeincludes a truncated cone or a revolution cylinder.
 3. Thecomputer-implemented method of claim 2, wherein the convex volume has acurved shape surrounding partially the hand tracking device, opposite tothe plane part, and being spaced apart from the hand tracking device bya non-null safety margin.
 4. The computer-implemented method of claim 2,further comprising: receiving a user input of actuating the handtracking device; and modifying the rendering of the region as long asthe hand tracking device is being actuated.
 5. The computer-implementedmethod of claim 2, further comprising: receiving a user input ofactuating a second hand tracking device; computing a distance between a3D position of a first hand tracking device of the at least one handtracking device, and a 3D position of the second hand tracking device;and widening or thinning the convex volume across the segment,respectively by increasing or reducing said distance.
 6. Thecomputer-implemented method of claim 1, wherein the convex volume has acurved shape surrounding partially the hand tracking device, opposite tothe plane part, and being spaced apart from the hand tracking device bya non-null safety margin.
 7. The computer-implemented method of claim 6,further comprising: receiving a user input of actuating the handtracking device; and modifying the rendering of the region as long asthe hand tracking device is being actuated.
 8. The computer-implementedmethod of claim 6, further comprising: receiving a user input ofactuating a second hand tracking device; computing a distance between a3D position of a first hand tracking device of the at least one handtracking device, and a 3D position of the second hand tracking device;and widening or thinning the convex volume across the segment,respectively by increasing or reducing said distance.
 9. Thecomputer-implemented method of claim 1, further comprising: receiving auser input of actuating the hand tracking device; and modifying therendering of the region as long as the hand tracking device is beingactuated.
 10. The computer-implemented method of claim 1, furthercomprising: receiving a user input of actuating a second hand trackingdevice; computing a distance between a 3D position of a first handtracking device of the at least one hand tracking device, and a 3Dposition of the second hand tracking device; and widening or thinningthe convex volume across the segment, respectively by increasing orreducing said distance.
 11. The computer-implemented method of claim 10,wherein: the receiving the user input of actuating the second handtracking device further includes receiving a command of pressing andholding a button of the second hand tracking device, and the widening orthinning the convex volume is carried out while the button of the secondhand tracking device is being pressed.
 12. The computer-implementedmethod of claim 10, wherein: the receiving the user input of actuatingthe second hand tracking device further includes receiving a command ofpressing then releasing a button of the second hand tracking device, andthe widening or thinning the convex volume is carried out afterreceiving another command of pressing then releasing said button. 13.The computer-implemented method of claim 10, wherein the convex volumeis transformed into a sphere if a distance between the 3D position ofthe first hand tracking device and the 3D position of the second handtracking device exceeds a threshold distance, said sphere having acenter at the 3D position of the head tracking device, and having aradius equal to the distance between the 3D position of the headtracking device and the 3D position of the first hand tracking device.14. The computer-implemented method of claim 1, wherein the regionincludes 3D objects having a minimum bounding box which intersects withthe convex volume.
 15. The computer-implemented method of claim 1,further comprising: receiving a user input of actuating the handtracking device; and modifying the rendering of the region as long asthe hand tracking device is being actuated.
 16. A non-transitorycomputer-readable data-storage medium containing computer-executableinstructions that when executed by a virtual reality system causes thevirtual reality system to implement a method for modifying a renderingof a region of a 3D scene in an immersive environment, the methodcomprising: computing the region based on a 3D position of a headtracking device and a 3D position of at least one hand tracking device,wherein the region comprises a convex volume which has a plane partwhich fits a near clipping plane of a virtual camera frustum rendering apart of the 3D scene, said convex volume extending along a segment whichis defined by the 3D position of the head tracking device and by the 3Dposition of the hand tracking device; and modifying the rendering of theregion of the 3D scene in the immersive environment, wherein modifyingthe rendering of the region comprises ghosting or hiding said region.17. A virtual reality system (VRS) comprising: a head mounted displaydevice having a head tracking device; at least one hand-held controllerhaving a hand tracking device; and a processor coupled to a memory,wherein the memory stores computer-executable instructions to cause theprocessor to be configured to: compute a region based on a 3D positionof the head tracking device and a 3D position of the hand trackingdevice, wherein the region comprises a convex volume which has a planepart which fits a near clipping plane of a virtual camera frustumrendering a part of a 3D scene, said convex volume extending along asegment which is defined by the 3D position of the head tracking deviceand by the 3D position of the hand tracking device; and modify arendering of the region of a 3D scene in an immersive environment,wherein modifying the rendering of the region comprises ghosting orhiding said region.